package com.shop.item.api.service;


import com.shop.common.model.InputBean;
import com.shop.common.model.ServiceBean;
import com.shop.common.model.param.item.ItemCollectionInput;
import com.shop.common.model.param.item.ItemCommentInput;
import com.shop.common.model.param.item.ItemFootInput;
import com.shop.common.model.result.item.ItemCollectionOutput;
import com.shop.common.model.result.item.ItemCommentOutput;
import com.shop.common.model.result.item.ItemExtOutput;
import com.shop.common.model.result.item.ItemFootOutput;

import java.util.List;

/*
 * @Author zhoulk
 * @Description //商品扩展服务
 * @Date 11:17 2019/1/16
 *
 **/
public interface IItemExtService {

    ServiceBean<ItemExtOutput> selectItemExt(Integer itemId);

    /**
     * @Author zhoulk
     * @Description //TODO 查询用户商品足迹列表
     * @Date 21:03 2019/3/12
     *
     * @Param [paramModel]
     * @return com.shop.common.model.ResultModel<java.util.List < com.shop.common.model.result.item.ItemFootOutput>>
     * @errorCode //TODO
     **/
    ServiceBean<List<ItemFootOutput>> selectItemFootList4P(InputBean<ItemFootInput> inputBean);

    /**
     * @Function com.shop.item.api.atomsvc.IItemExtService.deleteFoot
     * @Description //TODO 删除浏览足迹
     *
     * @param: id
     * @return com.shop.common.model.ResultModel
     * @errorCode //TODO
     *
     * @Author zhoulk
     * @Date
     *
     **/
    ServiceBean deleteFoot(InputBean<Integer> inputBean);

    /**
     * @Author zhoulk
     * @Description //TODO 查询用户商品收藏列表
     * @Date 21:04 2019/3/12
     *
     * @Param [paramModel]
     * @return com.shop.common.model.ResultModel<java.util.List < com.shop.common.model.result.item.ItemCollectionOutput>>
     * @errorCode //TODO
     **/
    ServiceBean<List<ItemCollectionOutput>> selectItemCollectionList4P(InputBean<ItemCollectionInput> inputBean);

    /**
     * @Author zhoulk
     * @Description //TODO 收藏[取消收藏]商品
     * @Date 21:05 2019/3/12
     *
     * @Param [paramModel:商品Id]
     * @return com.shop.common.model.ResultModel<java.lang.String>
     * @errorCode //TODO
     **/
    ServiceBean<String> collectionItem(InputBean<ItemCollectionInput> inputBean);

    /**
     * @Function com.shop.item.api.atomsvc.IItemExtService.cancelCollection
     * @Description //TODO 取消收藏商品
     *
     * @param: paramModel
     * @return com.shop.common.model.ResultModel
     * @errorCode //TODO
     *
     * @Author zhoulk
     * @Date
     *
     **/
    ServiceBean cancelCollection(InputBean<ItemCollectionInput> inputBean);

    /**
     * @Function com.shop.item.api.atomsvc.IItemExtService.isCollection
     * @Description //TODO 是否收藏商品
     *
     * @param: paramModel
     * @return com.shop.common.model.ResultModel
     * @errorCode //TODO
     *
     * @Author zhoulk
     * @Date
     *
     **/
    ServiceBean isCollection(InputBean<ItemCollectionInput> inputBean);

    /**
     * @Author zhoulk
     * @Description //TODO 查询商品评论列表
     * @Date 21:07 2019/3/12
     *
     * @Param [paramModel:商品Id]
     * @return com.shop.common.model.ResultModel<java.util.List < com.shop.common.model.result.item.ItemCommentOutput>>
     * @errorCode //TODO
     **/
    ServiceBean<List<ItemCommentOutput>> selectItemCommentList4P(InputBean<Integer> inputBean);

    /**
     * @Author zhoulk
     * @Description //TODO 评论商品
     * @Date 21:11 2019/3/12
     *
     * @Param [paramModel]
     * @return com.shop.common.model.ResultModel<java.lang.String>
     * @errorCode //TODO        
     **/
    ServiceBean<String> insertItemComment(InputBean<ItemCommentInput> inputBean);

}
